// 蜂窝蜜造平台生成代码，如手工更改，请添加到 .beeignore 忽略生成

package com.fowo.api.model.amz.advertis.auth.info;

import com.fowo.api.common.annotaion.DataObjectType;
import com.fowo.api.common.meta.MetaDataObject;
import com.fowo.api.common.meta.MetaDataObjects;
import com.fowo.api.common.model.PageSearch;
import com.fowo.api.common.mybatis.helper.PageSearchHelper;
import com.fowo.api.common.util.ListUtils;
import com.fowo.api.entity.AmzAdvertisAuthInfo;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import lombok.Getter;
import lombok.Setter;
import org.springframework.format.annotation.DateTimeFormat;

@DataObjectType(AmzAdvertisAuthInfo.class)
@Setter
@Getter
public class AmzAdvertisAuthInfoSearchParamPo extends PageSearch {

  private static MetaDataObject metaDataObject;

  @Override
  public void applySqlSegments() {
    if (metaDataObject == null) {
      metaDataObject =
        ListUtils.find(
          MetaDataObjects.getObjects(),
          o -> "AmzAdvertisAuthInfo".equals(o.getName())
        );
    }
    PageSearchHelper.fillSqlSegments(this, metaDataObject);
  }

  @Override
  public void initFinal() {
    super.initFinal();
    applySqlSegments();
  }

  /**
   * 获取关联字段的查询表别名信息
   */
  @Override
  public Map<String, String> getJoinFieldTableAliasMap() {
    Map<String, String> map = new HashMap<>();
    map.put("sid", "si");
    return map;
  }

  @Override
  public Map<String, OptionalJoinField> getOptionalJoinFields() {
    Map<String, OptionalJoinField> map = new HashMap<>();

    return map;
  }

  /**
   * 编号
   */
  private Long id;

  /**
   * 最小编号
   */
  private Long idMin;

  /**
   * 最大编号
   */
  private Long idMax;

  /**
   * 编号 比较(eq)
   */
  private Long idEq;
  /**
   * 编号 比较(neq)
   */
  private Long idNeq;
  /**
   * 编号 比较(gt)
   */
  private Long idGt;
  /**
   * 编号 比较(gte)
   */
  private Long idGte;
  /**
   * 编号 比较(lt)
   */
  private Long idLt;
  /**
   * 编号 比较(lte)
   */
  private Long idLte;
  /**
   * 编号 比较(contains)
   */
  private Long idContains;
  /**
   * 编号 比较(notcontains)
   */
  private Long idNotcontains;
  /**
   * 编号 比较(startswith)
   */
  private Long idStartswith;
  /**
   * 编号 比较(endswith)
   */
  private Long idEndswith;
  /**
   * 编号 比较(isnull)
   */
  private Boolean idIsnull;
  /**
   * 编号 比较(isnotnull)
   */
  private Boolean idIsnotnull;

  /**
   * 站点市场id(模糊搜索)
   */
  private String marketplaceStringId;

  /**
   * 站点市场id 比较(eq)
   */
  private String marketplaceStringIdEq;
  /**
   * 站点市场id 比较(neq)
   */
  private String marketplaceStringIdNeq;
  /**
   * 站点市场id 比较(gt)
   */
  private String marketplaceStringIdGt;
  /**
   * 站点市场id 比较(gte)
   */
  private String marketplaceStringIdGte;
  /**
   * 站点市场id 比较(lt)
   */
  private String marketplaceStringIdLt;
  /**
   * 站点市场id 比较(lte)
   */
  private String marketplaceStringIdLte;
  /**
   * 站点市场id 比较(contains)
   */
  private String marketplaceStringIdContains;
  /**
   * 站点市场id 比较(notcontains)
   */
  private String marketplaceStringIdNotcontains;
  /**
   * 站点市场id 比较(startswith)
   */
  private String marketplaceStringIdStartswith;
  /**
   * 站点市场id 比较(endswith)
   */
  private String marketplaceStringIdEndswith;
  /**
   * 站点市场id 比较(isnull)
   */
  private Boolean marketplaceStringIdIsnull;
  /**
   * 站点市场id 比较(isnotnull)
   */
  private Boolean marketplaceStringIdIsnotnull;

  /**
   * 站点市场id(精确搜索)
   */
  private List<String> marketplaceStringIdInList;

  /**
   * 时区(模糊搜索)
   */
  private String timezone;

  /**
   * 时区 比较(eq)
   */
  private String timezoneEq;
  /**
   * 时区 比较(neq)
   */
  private String timezoneNeq;
  /**
   * 时区 比较(gt)
   */
  private String timezoneGt;
  /**
   * 时区 比较(gte)
   */
  private String timezoneGte;
  /**
   * 时区 比较(lt)
   */
  private String timezoneLt;
  /**
   * 时区 比较(lte)
   */
  private String timezoneLte;
  /**
   * 时区 比较(contains)
   */
  private String timezoneContains;
  /**
   * 时区 比较(notcontains)
   */
  private String timezoneNotcontains;
  /**
   * 时区 比较(startswith)
   */
  private String timezoneStartswith;
  /**
   * 时区 比较(endswith)
   */
  private String timezoneEndswith;
  /**
   * 时区 比较(isnull)
   */
  private Boolean timezoneIsnull;
  /**
   * 时区 比较(isnotnull)
   */
  private Boolean timezoneIsnotnull;

  /**
   * 时区(精确搜索)
   */
  private List<String> timezoneInList;

  /**
   * 最早创建时间
   */
  @DateTimeFormat(pattern = "yyyy-MM-dd")
  private Date createTimeStart;

  /**
   * 最晚创建时间
   */
  @DateTimeFormat(pattern = "yyyy-MM-dd")
  private Date createTimeEnd;

  /**
   * 创建时间 比较(eq)
   */
  private Date createTimeEq;
  /**
   * 创建时间 比较(neq)
   */
  private Date createTimeNeq;
  /**
   * 创建时间 比较(gt)
   */
  private Date createTimeGt;
  /**
   * 创建时间 比较(gte)
   */
  private Date createTimeGte;
  /**
   * 创建时间 比较(lt)
   */
  private Date createTimeLt;
  /**
   * 创建时间 比较(lte)
   */
  private Date createTimeLte;
  /**
   * 创建时间 比较(contains)
   */
  private Date createTimeContains;
  /**
   * 创建时间 比较(notcontains)
   */
  private Date createTimeNotcontains;
  /**
   * 创建时间 比较(startswith)
   */
  private Date createTimeStartswith;
  /**
   * 创建时间 比较(endswith)
   */
  private Date createTimeEndswith;
  /**
   * 创建时间 比较(isnull)
   */
  private Boolean createTimeIsnull;
  /**
   * 创建时间 比较(isnotnull)
   */
  private Boolean createTimeIsnotnull;

  /**
   * 创建人
   */
  private Long createUser;

  /**
   * 最小创建人
   */
  private Long createUserMin;

  /**
   * 最大创建人
   */
  private Long createUserMax;

  /**
   * 创建人 比较(eq)
   */
  private Long createUserEq;
  /**
   * 创建人 比较(neq)
   */
  private Long createUserNeq;
  /**
   * 创建人 比较(gt)
   */
  private Long createUserGt;
  /**
   * 创建人 比较(gte)
   */
  private Long createUserGte;
  /**
   * 创建人 比较(lt)
   */
  private Long createUserLt;
  /**
   * 创建人 比较(lte)
   */
  private Long createUserLte;
  /**
   * 创建人 比较(contains)
   */
  private Long createUserContains;
  /**
   * 创建人 比较(notcontains)
   */
  private Long createUserNotcontains;
  /**
   * 创建人 比较(startswith)
   */
  private Long createUserStartswith;
  /**
   * 创建人 比较(endswith)
   */
  private Long createUserEndswith;
  /**
   * 创建人 比较(isnull)
   */
  private Boolean createUserIsnull;
  /**
   * 创建人 比较(isnotnull)
   */
  private Boolean createUserIsnotnull;

  /**
   * 最早更新时间
   */
  @DateTimeFormat(pattern = "yyyy-MM-dd")
  private Date lastUpdateTimeStart;

  /**
   * 最晚更新时间
   */
  @DateTimeFormat(pattern = "yyyy-MM-dd")
  private Date lastUpdateTimeEnd;

  /**
   * 更新时间 比较(eq)
   */
  private Date lastUpdateTimeEq;
  /**
   * 更新时间 比较(neq)
   */
  private Date lastUpdateTimeNeq;
  /**
   * 更新时间 比较(gt)
   */
  private Date lastUpdateTimeGt;
  /**
   * 更新时间 比较(gte)
   */
  private Date lastUpdateTimeGte;
  /**
   * 更新时间 比较(lt)
   */
  private Date lastUpdateTimeLt;
  /**
   * 更新时间 比较(lte)
   */
  private Date lastUpdateTimeLte;
  /**
   * 更新时间 比较(contains)
   */
  private Date lastUpdateTimeContains;
  /**
   * 更新时间 比较(notcontains)
   */
  private Date lastUpdateTimeNotcontains;
  /**
   * 更新时间 比较(startswith)
   */
  private Date lastUpdateTimeStartswith;
  /**
   * 更新时间 比较(endswith)
   */
  private Date lastUpdateTimeEndswith;
  /**
   * 更新时间 比较(isnull)
   */
  private Boolean lastUpdateTimeIsnull;
  /**
   * 更新时间 比较(isnotnull)
   */
  private Boolean lastUpdateTimeIsnotnull;

  /**
   * 更新人
   */
  private Long lastUpdateUser;

  /**
   * 最小更新人
   */
  private Long lastUpdateUserMin;

  /**
   * 最大更新人
   */
  private Long lastUpdateUserMax;

  /**
   * 更新人 比较(eq)
   */
  private Long lastUpdateUserEq;
  /**
   * 更新人 比较(neq)
   */
  private Long lastUpdateUserNeq;
  /**
   * 更新人 比较(gt)
   */
  private Long lastUpdateUserGt;
  /**
   * 更新人 比较(gte)
   */
  private Long lastUpdateUserGte;
  /**
   * 更新人 比较(lt)
   */
  private Long lastUpdateUserLt;
  /**
   * 更新人 比较(lte)
   */
  private Long lastUpdateUserLte;
  /**
   * 更新人 比较(contains)
   */
  private Long lastUpdateUserContains;
  /**
   * 更新人 比较(notcontains)
   */
  private Long lastUpdateUserNotcontains;
  /**
   * 更新人 比较(startswith)
   */
  private Long lastUpdateUserStartswith;
  /**
   * 更新人 比较(endswith)
   */
  private Long lastUpdateUserEndswith;
  /**
   * 更新人 比较(isnull)
   */
  private Boolean lastUpdateUserIsnull;
  /**
   * 更新人 比较(isnotnull)
   */
  private Boolean lastUpdateUserIsnotnull;

  /**
   * 国家账户id
   */
  private Long profileId;

  /**
   * 最小国家账户id
   */
  private Long profileIdMin;

  /**
   * 最大国家账户id
   */
  private Long profileIdMax;

  /**
   * 国家账户id 比较(eq)
   */
  private Long profileIdEq;
  /**
   * 国家账户id 比较(neq)
   */
  private Long profileIdNeq;
  /**
   * 国家账户id 比较(gt)
   */
  private Long profileIdGt;
  /**
   * 国家账户id 比较(gte)
   */
  private Long profileIdGte;
  /**
   * 国家账户id 比较(lt)
   */
  private Long profileIdLt;
  /**
   * 国家账户id 比较(lte)
   */
  private Long profileIdLte;
  /**
   * 国家账户id 比较(contains)
   */
  private Long profileIdContains;
  /**
   * 国家账户id 比较(notcontains)
   */
  private Long profileIdNotcontains;
  /**
   * 国家账户id 比较(startswith)
   */
  private Long profileIdStartswith;
  /**
   * 国家账户id 比较(endswith)
   */
  private Long profileIdEndswith;
  /**
   * 国家账户id 比较(isnull)
   */
  private Boolean profileIdIsnull;
  /**
   * 国家账户id 比较(isnotnull)
   */
  private Boolean profileIdIsnotnull;

  /**
   * 国家代码(模糊搜索)
   */
  private String countryCode;

  /**
   * 国家代码 比较(eq)
   */
  private String countryCodeEq;
  /**
   * 国家代码 比较(neq)
   */
  private String countryCodeNeq;
  /**
   * 国家代码 比较(gt)
   */
  private String countryCodeGt;
  /**
   * 国家代码 比较(gte)
   */
  private String countryCodeGte;
  /**
   * 国家代码 比较(lt)
   */
  private String countryCodeLt;
  /**
   * 国家代码 比较(lte)
   */
  private String countryCodeLte;
  /**
   * 国家代码 比较(contains)
   */
  private String countryCodeContains;
  /**
   * 国家代码 比较(notcontains)
   */
  private String countryCodeNotcontains;
  /**
   * 国家代码 比较(startswith)
   */
  private String countryCodeStartswith;
  /**
   * 国家代码 比较(endswith)
   */
  private String countryCodeEndswith;
  /**
   * 国家代码 比较(isnull)
   */
  private Boolean countryCodeIsnull;
  /**
   * 国家代码 比较(isnotnull)
   */
  private Boolean countryCodeIsnotnull;

  /**
   * 国家代码(精确搜索)
   */
  private List<String> countryCodeInList;

  /**
   * 货币代码(模糊搜索)
   */
  private String currencyCode;

  /**
   * 货币代码 比较(eq)
   */
  private String currencyCodeEq;
  /**
   * 货币代码 比较(neq)
   */
  private String currencyCodeNeq;
  /**
   * 货币代码 比较(gt)
   */
  private String currencyCodeGt;
  /**
   * 货币代码 比较(gte)
   */
  private String currencyCodeGte;
  /**
   * 货币代码 比较(lt)
   */
  private String currencyCodeLt;
  /**
   * 货币代码 比较(lte)
   */
  private String currencyCodeLte;
  /**
   * 货币代码 比较(contains)
   */
  private String currencyCodeContains;
  /**
   * 货币代码 比较(notcontains)
   */
  private String currencyCodeNotcontains;
  /**
   * 货币代码 比较(startswith)
   */
  private String currencyCodeStartswith;
  /**
   * 货币代码 比较(endswith)
   */
  private String currencyCodeEndswith;
  /**
   * 货币代码 比较(isnull)
   */
  private Boolean currencyCodeIsnull;
  /**
   * 货币代码 比较(isnotnull)
   */
  private Boolean currencyCodeIsnotnull;

  /**
   * 货币代码(精确搜索)
   */
  private List<String> currencyCodeInList;

  /**
   * 每日预算
   */
  private java.math.BigDecimal dailyBudget;

  /**
   * 最小每日预算
   */
  private java.math.BigDecimal dailyBudgetMin;

  /**
   * 最大每日预算
   */
  private java.math.BigDecimal dailyBudgetMax;

  /**
   * 每日预算 比较(eq)
   */
  private java.math.BigDecimal dailyBudgetEq;
  /**
   * 每日预算 比较(neq)
   */
  private java.math.BigDecimal dailyBudgetNeq;
  /**
   * 每日预算 比较(gt)
   */
  private java.math.BigDecimal dailyBudgetGt;
  /**
   * 每日预算 比较(gte)
   */
  private java.math.BigDecimal dailyBudgetGte;
  /**
   * 每日预算 比较(lt)
   */
  private java.math.BigDecimal dailyBudgetLt;
  /**
   * 每日预算 比较(lte)
   */
  private java.math.BigDecimal dailyBudgetLte;
  /**
   * 每日预算 比较(contains)
   */
  private java.math.BigDecimal dailyBudgetContains;
  /**
   * 每日预算 比较(notcontains)
   */
  private java.math.BigDecimal dailyBudgetNotcontains;
  /**
   * 每日预算 比较(startswith)
   */
  private java.math.BigDecimal dailyBudgetStartswith;
  /**
   * 每日预算 比较(endswith)
   */
  private java.math.BigDecimal dailyBudgetEndswith;
  /**
   * 每日预算 比较(isnull)
   */
  private Boolean dailyBudgetIsnull;
  /**
   * 每日预算 比较(isnotnull)
   */
  private Boolean dailyBudgetIsnotnull;

  /**
   * 卖家id(模糊搜索)
   */
  private String sellerId;

  /**
   * 卖家id 比较(eq)
   */
  private String sellerIdEq;
  /**
   * 卖家id 比较(neq)
   */
  private String sellerIdNeq;
  /**
   * 卖家id 比较(gt)
   */
  private String sellerIdGt;
  /**
   * 卖家id 比较(gte)
   */
  private String sellerIdGte;
  /**
   * 卖家id 比较(lt)
   */
  private String sellerIdLt;
  /**
   * 卖家id 比较(lte)
   */
  private String sellerIdLte;
  /**
   * 卖家id 比较(contains)
   */
  private String sellerIdContains;
  /**
   * 卖家id 比较(notcontains)
   */
  private String sellerIdNotcontains;
  /**
   * 卖家id 比较(startswith)
   */
  private String sellerIdStartswith;
  /**
   * 卖家id 比较(endswith)
   */
  private String sellerIdEndswith;
  /**
   * 卖家id 比较(isnull)
   */
  private Boolean sellerIdIsnull;
  /**
   * 卖家id 比较(isnotnull)
   */
  private Boolean sellerIdIsnotnull;

  /**
   * 卖家id(精确搜索)
   */
  private List<String> sellerIdInList;

  /**
   * 账号类型(模糊搜索)
   */
  private String type;

  /**
   * 账号类型 比较(eq)
   */
  private String typeEq;
  /**
   * 账号类型 比较(neq)
   */
  private String typeNeq;
  /**
   * 账号类型 比较(gt)
   */
  private String typeGt;
  /**
   * 账号类型 比较(gte)
   */
  private String typeGte;
  /**
   * 账号类型 比较(lt)
   */
  private String typeLt;
  /**
   * 账号类型 比较(lte)
   */
  private String typeLte;
  /**
   * 账号类型 比较(contains)
   */
  private String typeContains;
  /**
   * 账号类型 比较(notcontains)
   */
  private String typeNotcontains;
  /**
   * 账号类型 比较(startswith)
   */
  private String typeStartswith;
  /**
   * 账号类型 比较(endswith)
   */
  private String typeEndswith;
  /**
   * 账号类型 比较(isnull)
   */
  private Boolean typeIsnull;
  /**
   * 账号类型 比较(isnotnull)
   */
  private Boolean typeIsnotnull;

  /**
   * 账号类型(精确搜索)
   */
  private List<String> typeInList;

  /**
   * 账号性名(模糊搜索)
   */
  private String name;

  /**
   * 账号性名 比较(eq)
   */
  private String nameEq;
  /**
   * 账号性名 比较(neq)
   */
  private String nameNeq;
  /**
   * 账号性名 比较(gt)
   */
  private String nameGt;
  /**
   * 账号性名 比较(gte)
   */
  private String nameGte;
  /**
   * 账号性名 比较(lt)
   */
  private String nameLt;
  /**
   * 账号性名 比较(lte)
   */
  private String nameLte;
  /**
   * 账号性名 比较(contains)
   */
  private String nameContains;
  /**
   * 账号性名 比较(notcontains)
   */
  private String nameNotcontains;
  /**
   * 账号性名 比较(startswith)
   */
  private String nameStartswith;
  /**
   * 账号性名 比较(endswith)
   */
  private String nameEndswith;
  /**
   * 账号性名 比较(isnull)
   */
  private Boolean nameIsnull;
  /**
   * 账号性名 比较(isnotnull)
   */
  private Boolean nameIsnotnull;

  /**
   * 账号性名(精确搜索)
   */
  private List<String> nameInList;

  /**
   * 付款方式是否有效
   */
  private Boolean validPaymentMethod;

  /**
   * 付款方式是否有效
   */
  private String validPaymentMethodEq;

  /**
   * 刷新令牌(模糊搜索)
   */
  private String refreshToken;

  /**
   * 刷新令牌 比较(eq)
   */
  private String refreshTokenEq;
  /**
   * 刷新令牌 比较(neq)
   */
  private String refreshTokenNeq;
  /**
   * 刷新令牌 比较(gt)
   */
  private String refreshTokenGt;
  /**
   * 刷新令牌 比较(gte)
   */
  private String refreshTokenGte;
  /**
   * 刷新令牌 比较(lt)
   */
  private String refreshTokenLt;
  /**
   * 刷新令牌 比较(lte)
   */
  private String refreshTokenLte;
  /**
   * 刷新令牌 比较(contains)
   */
  private String refreshTokenContains;
  /**
   * 刷新令牌 比较(notcontains)
   */
  private String refreshTokenNotcontains;
  /**
   * 刷新令牌 比较(startswith)
   */
  private String refreshTokenStartswith;
  /**
   * 刷新令牌 比较(endswith)
   */
  private String refreshTokenEndswith;
  /**
   * 刷新令牌 比较(isnull)
   */
  private Boolean refreshTokenIsnull;
  /**
   * 刷新令牌 比较(isnotnull)
   */
  private Boolean refreshTokenIsnotnull;

  /**
   * 刷新令牌(精确搜索)
   */
  private List<String> refreshTokenInList;

  /**
   * 店铺id
   */
  private Long sid;

  /**
   * 店铺id 比较(eq)
   */
  private Long sidEq;
  /**
   * 店铺id 比较(neq)
   */
  private Long sidNeq;
  /**
   * 店铺id 比较(gt)
   */
  private Long sidGt;
  /**
   * 店铺id 比较(gte)
   */
  private Long sidGte;
  /**
   * 店铺id 比较(lt)
   */
  private Long sidLt;
  /**
   * 店铺id 比较(lte)
   */
  private Long sidLte;
  /**
   * 店铺id 比较(contains)
   */
  private Long sidContains;
  /**
   * 店铺id 比较(notcontains)
   */
  private Long sidNotcontains;
  /**
   * 店铺id 比较(startswith)
   */
  private Long sidStartswith;
  /**
   * 店铺id 比较(endswith)
   */
  private Long sidEndswith;
  /**
   * 店铺id 比较(isnull)
   */
  private Boolean sidIsnull;
  /**
   * 店铺id 比较(isnotnull)
   */
  private Boolean sidIsnotnull;
  /**
   * 店铺id的名称 比较(eq)
   */
  private String sidShopNameEq;
  /**
   * 店铺id的名称 比较(neq)
   */
  private String sidShopNameNeq;
  /**
   * 店铺id的名称 比较(gt)
   */
  private String sidShopNameGt;
  /**
   * 店铺id的名称 比较(gte)
   */
  private String sidShopNameGte;
  /**
   * 店铺id的名称 比较(lt)
   */
  private String sidShopNameLt;
  /**
   * 店铺id的名称 比较(lte)
   */
  private String sidShopNameLte;
  /**
   * 店铺id的名称 比较(contains)
   */
  private String sidShopNameContains;
  /**
   * 店铺id的名称 比较(notcontains)
   */
  private String sidShopNameNotcontains;
  /**
   * 店铺id的名称 比较(startswith)
   */
  private String sidShopNameStartswith;
  /**
   * 店铺id的名称 比较(endswith)
   */
  private String sidShopNameEndswith;
  /**
   * 店铺id的名称 比较(isnull)
   */
  private Boolean sidShopNameIsnull;
  /**
   * 店铺id的名称 比较(isnotnull)
   */
  private Boolean sidShopNameIsnotnull;

  /**
   * 店铺id(范围搜索)
   */
  private List<Long> sidInList;

  /**
   * 表单名称
   */
  private String formName;

  /**
   * 工作流状态
   */
  private Integer wfStatus;
}
